1. Field of the Invention
The present invention relates to a semiconductor circuit, and in particular, relates to the highly accurate storing of a plurality of analog or multi-valued data using a circuit having a small surface area.
2. Background Art
In recent years, in concert with developments in computer technology, there has been striking progress in data processing technology. However, when attempts have been made to realize the flexible type of data processing conducted by human beings, it has almost been impossible to produce real time operating effects using present-day computers. The reason for this is that the data which we deal with in our everyday lives are analog data, so that firstly, there is enormous amount of such data, and moreover, these data are imprecise and uncertain. The conversion of such enormous amounts of analog data to digital values, and the conducting of extremely strict digital operations datum by datum, is a problem for present-day data processing systems.
An example of this is that of image data. For example, if a single screen is incorporated into a 500.times.500 two dimensional pixel array, then the number of pixels reaches a total of 250,000, and if the strength of the three colors red, green and blue is expressed in eight-bit format for each pixel, then 750,000 bits are required for one static image. In the case of moving images, the amount of image data increases with time. Even if present-day super computers are employed, it is impossible to manipulate the enormous amount of data having values of `1` and `0` and to conduct recognition and analysis of the screens in real time.
In order to overcome these difficulties, efforts have been made to realize data processing more closely approximating that of human beings by means of accepting analog real world data in an unchanged manner and conducting operations and processing in the analog format. As a result, a number of memory devices have been invented. One of these is the memory device shown in FIG. 2, which is capable of writing desired analog values using simple control circuitry (see FIG. 6 of Japanese Patent Application No. HEI 7-29443).
Although this memory is capable of realizing accurate writing using simple control, it has the drawback that the setting of the reference voltages applied to the control circuit is difficult.
The reason for this is as follows. In conventional control circuitry, a writing target value is first applied as a reference value, and when the subsequent input is equal to the reference value, the output changes logically from a LO state to a HI state. When this kind of control circuitry is used to conduct writing, the following things occur. During writing, terminal 201 is grounded, and a high voltage is applied to terminal 202, and thereby electrode 203 is set to a high voltage, and thereby Fowler-Nordheim current flows in the thin oxide film portion 204, and electrons are drawn away from floating gate 205. The voltage of the floating gate is read out via source follower 206 in a time continuous manner, and is monitored by the control circuitry. The floating gate is strongly drawn to the ground potential by terminal 201, so that an increase in the voltage of the floating gate as a result of the high voltage can be ignored, and changes in the voltage resulting from the movement of charge, that is to say, only that voltage which was written, is monitored by the control circuitry. When the output from the memory is equal to the writing target value, the control circuitry outputs a HI state, and a switch comprising MOS type transistors is placed in an ON state. At this time, the potential of electrode 203 is set to the ground potential, and the writing is completed. The data are read out by grounding electrode 203. During writing, when the values become equal to the reference voltage, that is to say, to the writing target value, writing is halted, so that the value in the memory read out after writing is in agreement with the writing target value. In principle, writing is conducted in this manner, and it is possible to write the values desired; however, in actuality, the ratio of the capacity C.sub.1, between the terminal 201 and the floating gate, and the capacity C.sub.2, between the floating gate and the thin oxide film, is limited, and when electrode 203 reaches a high voltage, the voltage of the floating gate increases even though absolutely no writing is being conducted, and an offset is produced.
During writing, a voltage representing a combination of the offset and the writing into the floating gate as a result of charge transfer is read out via the source follower, and writing ceases when this becomes equal to the writing target value. During readout, this offset is not produced. Accordingly, during readout, a voltage representing the writing target value less the offset is read out via the source follower.
In conclusion, if a simple comparator is used as the control circuitry, the desired voltage can not be written into the memory cell. In order to conduct accurate writing, it is necessary to estimate the offset in advance in creating the reference voltage. In principle, the offset voltage is determined by the capacity ratio of C.sub.1 and C.sub.tun, and the high voltage applied. If a reference value in which this value is added to the writing target value is employed, a value equal to the writing target value from which the offset has been subtracted is obtained after writing as the output result. However, as a result of fluctuations in the film thickness and the working dimensions during manufacture, the capacity ratio varies somewhat from the designed value. When the designed offset value is added to the writing target value in a state in which such variation has occurred, this itself leads to fluctuations and writing errors. Accordingly, it is impossible to conduct highly accurate writing.